

import Mock from 'mockjs';  // 引入mock核心库
import db from '../lowdb.js'; // 引入数据库模块
import urls from '../../src/api/url'; // 引入请求地址库



// 定义数据库项——相当于一张表

let user:any = [];

// 定义初始数据总量
const count = 2;

// 如果该表不存在或者表中没有数据，则创建新数据存储数据库，否则返回已经存在的数据
if (db && db.get('user').size().value()) {  // size()获取数据表总量
    user = db.get('user').value(); // get()...value() 从数据库获取数据  
} else {
    for (let i = 0; i < count; i++) {
        user.push(Mock.mock({
            'avatar': '@image(100x100)',  // 随机生成一个地名
            'userName': '@cname',  // 一个自增数
            'nickName': '',
            'password': 'qwe123',  // 中文姓名
            'phonenumber': '@integer(1,11)', // 生成一个自定义日期
            'gender|1': ['1', '0'], // 男或女
            'email': '@email', // 中文段落
            'idCard': Mock.Random.id(), // 指定生成某个范围内的整数
        }));
    }
    db.set('user', user).write();  // set() 新建或重写一个表， .write（）执行写入操作
}



// 导出每个接口的模拟逻辑
export default [
    {
        url: urls['/register'], //获取列表
        type: 'post',
        isMock: true,  // 是否开启mock，这个开关可以将mock开关控制到具体接口
        response: (config:any) => {
            const body = config.body;  
            console.log(config)
            
            return {  // 返回模拟数据
                code: '200',
                msg:'注册成功'
            };
        }
    },

    {
        url: urls['/login'],
        type: 'post',
        isMock: true,
        response: (config:any) => {
            return {
                code: '200',
                datas: user,
                link: [],
                summary_info: {
                    total: 10,
                    pageSize: 10,
                    pageNum: 1
                }
            };
        }
    }
];
